//package com.rede.didiok.sms.task.server.steps;
//
//import java.util.Map;
//
//import javax.annotation.Resource;
//
//import lombok.extern.slf4j.Slf4j;
//import org.springframework.stereotype.Service;
//
//import com.alibaba.fastjson.JSONObject;
//import com.rede.didiok.sms.task.dto.Conf;
//import com.rede.didiok.sms.task.dto.StepConfig;
//import com.rede.didiok.sms.task.dto.UserTask;
//import com.rede.didiok.sms.task.enums.Action;
//import com.rede.didiok.sms.task.enums.State;
//import com.rede.didiok.sms.task.enums.TaskSign;
//import com.rede.didiok.sms.task.server.Step;
///**
// * 被关注步骤
// */
//@Service
//@Slf4j
//public class ToCollect implements Step {
//
//    @Resource
//    private CollectService collectService;
//
//    @Override
//    public State execute(UserTask task, Action action, StepConfig config, Object o) {
//        if (action != Action.TO_COLLECT) {
//            return State.WAIT;
//        }
//        // 额外的参数
//        Map extraMap = (Map) o;
//        Conf conf = JSONObject.parseObject(config.getExt(), Conf.class);
//        long target = conf.getTarget();
//        long process = task.getProcess();
//
//        // 如果是成就，那么需要直接查数据获取
//        if (TaskSign.ACHIEVE.getType().equals(task.getMarketName())) {
//            // 获取用户发表的博客数量
//            CollectVO collectVO = new CollectVO();
//            collectVO.setToUserUid(task.getUserUid());
//            process = collectService.getUserCollectCount(collectVO);
//            task.setProcess(process);
//        } else {
//            // 如果任务，那么执行累加计算
//            process = task.increaseProcess();
//        }
//        if (process >= target) {
//            return State.SUCCESS;
//        }
//        return State.WAIT;
//    }
//}